8.13 多表横向拼接设置
前面在使用df.join()时函数,other参数提供的是单个DataFrame表格,如果提供多个DataFrame表格,则可以设置在列表中,如果other参数提供的列表,则要求参与拼接的表格列名不相同。
由于how参数设置了outer,所以对所有表格执行了拼接,如果other参数是列表,则how参数只支持left,outer,inner三种联接方式。
import pandas as pd
y19=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.8.10 join表格横向拼接(按索引号或标签).xlsx","2019年" ,index_col =0)
y20=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.8.10 join表格横向拼接(按索引号或标签).xlsx","2020年" ,index_col =0)
y21=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.8.10 join表格横向拼接(按索引号或标签).xlsx","2021年" ,index_col =0)
print (y19)
print (y20)
df=y19.join(other=[ y20,y21 ],
how = "outer" #除索引的字段名外,其余字段名都要唯一,如重复,则会提示错误.
)
print (df)
返回:
部门_19 | 业绩_19 | |
---|---|---|
业务员 | ||
张三 | 销售1部 | 195 |
李四 | 销售2部 | 175 |
王麻子 | 销售2部 | 192 |
小韦 | 销售3部 | 222 |
许麻子 | 销售1部 | 195 |
老刘 | 销售1部 | 100 |
部门_20 | 业绩_20 | |
---|---|---|
业务员 | ||
张三 | 销售1部 | 232 |
李四 | 销售2部 | 129 |
王麻子 | 销售2部 | 104 |
许麻子 | 销售1部 | 175 |
老刘 | 销售1部 | 150 |
老王 | 销售1部 | 297 |
部门_19 | 业绩_19 | 部门_20 | 业绩_20 | 部门_21 | 业绩_21 | |
---|---|---|---|---|---|---|
业务员 | ||||||
张三 | 销售1部 | 195.0 | 销售1部 | 232.0 | 销售1部 | 174.0 |
李四 | 销售2部 | 175.0 | 销售2部 | 129.0 | 销售2部 | 174.0 |
王麻子 | 销售2部 | 192.0 | 销售2部 | 104.0 | 销售2部 | 237.0 |
小韦 | 销售3部 | 222.0 | NaN | NaN | NaN | NaN |
许麻子 | 销售1部 | 195.0 | 销售1部 | 175.0 | 销售1部 | 190.0 |
老刘 | 销售1部 | 100.0 | 销售1部 | 150.0 | 销售1部 | 196.0 |
老王 | NaN | NaN | 销售1部 | 297.0 | NaN | NaN |